function createCookie(name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; } function readCookie(name) { var nameEQ = encodeURIComponent(name) + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); } return null; } function isEmpty(value){ return (value == null || value.length === 0); } function merge_array(array1, array2) { var result_array = []; var arr = array1.concat(array2); var len = arr.length; var assoc = {}; while(len--) { var item = arr[len]; if(!assoc[item]) { result_array.unshift(item); assoc[item] = true; } } return result_array; } function httpGet(theUrl) { var xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", theUrl, false); xmlHttp.withCredentials = true; xmlHttp.send(null); return xmlHttp.responseText; } function httpGetAsync(personaurl, callback) { xhr = new XMLHttpRequest(); xhr.open('GET', personaurl, false); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8'); xhr.withCredentials = true; xhr.onreadystatechange = function() { var status = xhr.status; if (xhr.readyState == 4 && xhr.status == 200) { cookiedatav1 = xhr.response; if (cookiedatav1 != "{}") { localStorage.setItem('cookiedata', JSON.stringify(JSON.parse(cookiedatav1))); } callback(cookiedatav1); } } xhr.send(); } function getAsyncPersona(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('get', url, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8'); xhr.withCredentials = true; xhr.onreadystatechange = function() { if (xhr.readyState == 4) { var status = xhr.status; if (status == 200) { resolve(xhr.response); } else { reject(new Error("Error Fetching Persona!")); } } }; xhr.send(); }); } async function loadPersona(callback){ var cookiedatav1 = "{}"; try { cookiedatav1 = await getAsyncPersona("https://segsyncitgprx.dc.cuberoot.co/publisherv1/getCookieData"); } catch(err) { cookiedatav1 = "{}"; } if(cookiedatav1 != "{}"){ localStorage.setItem('cookiedata',JSON.stringify(JSON.parse(cookiedatav1))); createCookie('cookieexpirydata','expirydata',0.0034); } callback(cookiedatav1); } window.cubeRootTargetingSlot = [ [ ['cinma', ""], ['caffin', ""], ['ccity', ""], ['cmobile', ""], ['ctags', ""], ['cgen', ""], ['cag', ""], ['cinc', ""], ['csection', ""] ] ]; function getCookieData(callback) { var userip = ""; var referer = location.href; var cookiedatav1 = localStorage.getItem('cookiedata'); var timecookiedatav1 = readCookie('cookieexpirydata'); var tags = ["education", "college", "career", "jos", "job", "school", "exam", "bride", "pavitra", "rishta", "wedding", "relationship", "love"]; for (index = 0; index < tags.length; index++) { if (referer.includes(tags[index])) { loadPersona(callback); break; } } if (referer.includes(tags[index]) == false) { if (typeof cookiedatav1 !== 'undefined' && cookiedatav1 && typeof timecookiedatav1 !== 'undefined' && timecookiedatav1) { callback(cookiedatav1); } else { if (typeof timecookiedatav1 !== 'undefined' && timecookiedatav1) { } else { loadPersona(callback); } } } } getCookieData(function(cookiedatav1) { var cubecity; var cubemobile; var cubetags; var cubeinmarket; var cubeaffinity; var cubeage; var cubegender; var cubeincomelevel; var cubesection; cubecity = JSON.parse(cookiedatav1).city; cubemobile = JSON.parse(cookiedatav1).mobileDevice; cubetags = JSON.parse(cookiedatav1).tags; cubeinmarket = JSON.parse(cookiedatav1).inMarketSegments; cubeaffinity = JSON.parse(cookiedatav1).AffinitySegments; cubeage = JSON.parse(cookiedatav1).age; cubegender = JSON.parse(cookiedatav1).gender; cubeincomelevel = JSON.parse(cookiedatav1).incomelevel; cubesection = JSON.parse(cookiedatav1).section; window.cubeRootTargetingSlot = [ [ ['cinma', cubeinmarket], ['caffin', cubeaffinity], ['ccity', cubecity], ['cmobile', cubemobile], ['ctags', cubetags], ['cgen', cubegender], ['cag', cubeage], ['cinc', cubeincomelevel], ['csection', cubesection] ] ]; });